1. Technical Field of the Invention
This invention related generally to digital signal processing and more particularly to encoding and decoding of data.
2. Description of Related Art
As is known, some radio frequency identification (RFID) applications utilize FM0 and/or FM1 encoding/decoding schemes, which are both bi-phase encoding schemes. FM0 and FM1 bi-phase encoding have a state transition at every bit boundary. For FM0 a logic one is represented as a single state from bit boundary to bit boundary and a logic zero is represented as two states from bit boundary to bit boundary with one transition in the middle of the bit. For example, if the state of the previous encoded bit is −1 at the beginning of the data clock cycle for the present encoded bit, then, for a logic one, the state transitions to +1 and is maintained for the duration of the data clock cycle. If, however, the state of the previous encoded bit is +1 at the beginning of the data clock cycle for the present encoded bit, then, for a logic one, the state is transitioned to −1, which is maintained for the duration of the data clock cycle.
Continuing with the above example, if the state of the previous encoded bit is −1 at the beginning of the data clock cycle for the present encoded bit, then, for a logic zero, the state transitions twice during the data clock cycle: from −1 to +1 and then from +1 to −1. If, however, the state of the previous encoded bit is +1 at the beginning of the data clock cycle for the present encoded bit, then, for a logic zero, the state transitions twice during the data clock cycle: from +1 to −1 and then from −1 to +1. FM1 functions in a similar manner, but represents a logic zero with a single state from bit boundary to bit boundary and a logic one with a two states from bit boundary to bit boundary with one transition in the middle of the bit.
Conventional FM0 and FM1 decoders are bit by bit decoders that include a pair of matched filters, a data slicer, and an absolute value comparator. A first matched filter of the pair of matched filters has a filter response that corresponds to a single state transition and the second matched filter has a filter response that corresponds to a double state transition. The data slicer receives the outputs of the matched filters and produces a digital value representation thereof. The absolute value comparator compares the digital value representations to determine whether the encoded data represents a logic one or a logic zero.
As is generally accepted in the art of encoding/decoding, bit error rate (BER) is a function of signal to noise ratio and the encoding process. For FM0 and FM1 decoders, the encoding process is achieved by encoding a bit as either a single state within a data clock cycle or a dual state within a data clock cycle. Thus, from bit to bit, the resulting encoded value will be different. As is also generally accepted, the difference between encoded values can be measured using a Hamming distance (i.e., the number of bits that differ from encoded word to encoded word). A decoder's sensitivity (i.e., ability to accurately decode encoded data as the signal to noise ratio decreases) is a function of a minimum Hamming distance (i.e., the minimum number of bits that differ from any encoded word to any other encoded word), which for conventional FM0 and FM1 decoders is one. As such, for decoders, include FM0 and FM1 decoders, the BER is a function of the signal to noise ratio and the minimum Hamming distance.
Therefore, a need exists for a method and apparatus of decoding bi-phase encoded data that improves bit error rate relative to signal to noise ratio performance.